/**
 * 系统用户类型定义
 */

/**
 * 用户查询
 */
export interface UserQuery {
  /** 关键词搜索（用户名、昵称、手机号、邮箱） */
  keyword?: string
  /** 部门ID */
  deptId?: string
  /** 状态 */
  status?: number
  /** 当前页码 */
  page: number
  /** 每页条数 */
  pageSize: number
  /** 创建时间范围 */
  dateRange?: string[]
}

/**
 * 系统用户
 */
export interface User {
  /** 用户ID */
  id: string
  /** 用户名 */
  username: string
  /** 昵称 */
  nickname?: string
  /** 邮箱 */
  email?: string
  /** 手机号 */
  phone?: string
  /** 状态(0-禁用, 1-正常) */
  status: number
  /** 部门 */
  dept: {
    /** 部门ID */
    id: string
    /** 部门名称 */
    name: string
  }
  /** 角色列表 */
  roles: {
    /** 角色ID */
    id: string
    /** 角色名称 */
    roleName: string
  }[]
  /** 创建时间 */
  createTime: string
  /** 状态加载中 */
  statusLoading?: boolean
}

/**
 * 创建用户
 */
export interface CreateUser {
  /** 用户名 */
  username: string
  /** 昵称 */
  nickname?: string
  /** 密码 */
  password: string
  /** 部门ID */
  deptId: string
  /** 状态 */
  status?: number
  /** 手机号 */
  phone?: string
  /** 邮箱 */
  email?: string
  /** 角色ID列表 */
  roleIds?: string[]
}

/**
 * 更新用户
 */
export interface UpdateUser {
  /** 用户名 */
  username: string
  /** 昵称 */
  nickname?: string
  /** 密码 */
  password: string
  /** 部门ID */
  deptId?: string
  /** 状态 */
  status?: number
  /** 手机号 */
  phone?: string
  /** 邮箱 */
  email?: string
  /** 角色ID列表 */
  roleIds?: string[]
}

/**
 * 重置密码
 */
export interface ResetPassword {
  /** 密码 */
  password: string
  /** 确认密码 */
  confirmPassword: string
}

/**
 * 用户列表响应
 */
export interface UserList {
  /** 用户列表 */
  list: User[]
  /** 总数 */
  total: number
}